package com.stylefeng.guns.modular.borrowing.service;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.modular.borrowing.model.Borrowing;
import com.stylefeng.guns.modular.system.model.BorrowingInfo;
import com.stylefeng.guns.modular.system.model.CashExpenditure;
import com.stylefeng.guns.modular.system.model.RmbCashReceipts;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author stylefeng123
 * @since 2018-07-04
 */
public interface IBorrowingInfoService extends IService<BorrowingInfo> {



    /**
     * 描述:根据现金收支表插入应收应付往来数据
     * 创建人: laoyu
     * 日期: 2018/7/29 0029
     * 时间: 下午 3:59
     */

    public void insertBorrowing(String platform,CashExpenditure cashExpenditure)throws GunsException;

    /**
     * 描述:根据人民币银行收支表插入应收应付往来数据
     * 创建人: laoyu
     * 日期: 2018/7/29 0029
     * 时间: 下午 3:59
     */

    public void insertBorrowing(String platform,RmbCashReceipts oldRmbCashReceipts)throws GunsException;

    /**
     * 描述:当piso现金借贷修改，则修改应的应收收据
     * 创建人: laoyu
     * 日期: 2018/7/30 0030
     * 时间: 下午 5:43
     */
    public void update(CashExpenditure cashExpenditure,CashExpenditure oldCashExpenditure)throws GunsException;



    /**
     * 描述:修改应收应付
     * 创建人: laoyu
     * 日期: 2018/8/10 0010
     * 时间: 上午 9:40
     */
    public void update(BorrowingInfo borrowingInfo,BorrowingInfo oldBorrowingInfo)throws GunsException;

    /**
     * 描述:当remb银行现金借贷修改，则修改应的应收收据
     * 创建人: laoyu
     * 日期: 2018/7/30 0030
     * 时间: 下午 5:44
     */
    public void update(RmbCashReceipts rmbCashReceipts,RmbCashReceipts oldRmbCashReceipts)throws GunsException;

    /**
     * 描述:下载应收应付表格
     * 创建人: laoyu
     * 日期: 2018/8/6 0006
     * 时间: 下午 5:14
     */
    public Map<String,Object> load(List<BorrowingInfo> borrowingInfos,String platform,String beginDate,String endDate) throws GunsException;

    /**
     * 描述:获取应收应付汇总表
     * 创建人: laoyu
     * 日期: 2018/8/7 0007
     * 时间: 上午 11:23
     */
    public List<Borrowing> getBorrowing(String count,String platform,String beginDate,String endDate)throws GunsException;
    /**
     * 描述:统计汇总表
     * 创建人: laoyu
     * 日期: 2018/8/11 0011
     * 时间: 下午 3:16
     */
    public Map<String,Object> getBorrowingTotal(EntityWrapper<BorrowingInfo> wrapper,String platform,String beginDate)throws GunsException;


    /**
     * 描述:下载应收应付汇总表格
     * 创建人: laoyu
     * 日期: 2018/8/6 0006
     * 时间: 下午 5:14
     */
    public Map<String,Object> loadBorrowing(EntityWrapper<BorrowingInfo> wrapper,String platform,String beginDate,String endDate) throws GunsException;



    /**
     * 描述:合计
     * 创建人: xiang
     * 日期: 2018/8/9
     * 时间: 11:05
     */
    public Map<String,Object> tatol(Integer type,String beginDate, String  endDate,String platform) ;

    /**
     * 描述:删除piso现金和rmb银行报表时删除对应的应收应付
     * 创建人: laoyu
     * 日期: 2018/8/10 0010
     * 时间: 上午 9:41
     */
    public void delete(String platform,String orderNumber)throws GunsException;

    /**
     * 描述:获取应付应收明细
     * 创建人: laoyu
     * 日期: 2018/8/16 0016
     * 时间: 下午 2:06
     */
    public List<BorrowingInfo> search( String platform, Integer type,String beginDate,String  endDate,String contact);

    /**
     * 描述:添加应收应付
     * 创建人: laoyu
     * 日期: 2018/8/16 0016
     * 时间: 下午 3:56
     */
    public void sav(BorrowingInfo borrowingInfo);



}
